const os = require('os');

/**
 * 获取当前机器的ip地址
 */
function getIpAddress() {
    // 获取所有网络接口信息
    var ifaces = os.networkInterfaces()

    // 遍历所有网络接口
    // 如果是IPv4地址，且不是回环地址
    // 返回第一个符合条件的地址
    for (var dev in ifaces) {
        let iface = ifaces[dev]

        // 遍历每个接口的地址信息
        // 如果是IPv4地址，且不是回环地址
        for (let i = 0; i < iface.length; i++) {
            let { family, address, internal } = iface[i]

            if (family === 'IPv4' && address !== '127.0.0.1' && !internal) {
                return address
            }
        }
    }
}

const osHelper = {
    getIpAddress
}

module.exports = osHelper;